\hypertarget{class_cowichan}{
\section{Cowichan Class Reference}
\label{class_cowichan}\index{Cowichan@{Cowichan}}
}
Base class for all C++ implementations.  


{\tt \#include $<$cowichan.hpp$>$}

Inheritance diagram for Cowichan::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.56643cm]{class_cowichan}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
{\footnotesize template$<$typename T $>$ }\\void \hyperlink{class_cowichan_14e706ef5a5f7661a623c595d7ed76f1}{print\_\-rect\_\-matrix} (T $\ast$matrix)
\item 
void \hyperlink{class_cowichan_c3470807a8cdd1bfc6cf89f864f330bc}{print\_\-bool\_\-rect\_\-matrix} (\hyperlink{cowichan_8hpp_a64c8df2f1e9c8ea68a7bcc19aca683e}{BoolMatrix} matrix)
\item 
{\footnotesize template$<$typename T $>$ }\\void \hyperlink{class_cowichan_e8fdfb7dd3e8be0a7e9dbc531b1298d2}{print\_\-square\_\-matrix} (T $\ast$matrix)
\item 
{\footnotesize template$<$typename T $>$ }\\void \hyperlink{class_cowichan_90f1155f5c35308796b142b15d681a4b}{print\_\-vector} (T $\ast$vector)
\item 
void \hyperlink{class_cowichan_3b974ae1693ac661fb079b28981ca885}{print\_\-vector} (\hyperlink{class_point}{PointVector} points)
\item 
void \hyperlink{class_cowichan_905f3eb45f21cdaa1c32a421d001fa4c}{main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]}, bool use\_\-randmat, bool use\_\-thresh)
\end{CompactItemize}
\subsection*{Protected Member Functions}
\begin{CompactItemize}
\item 
virtual void \hyperlink{class_cowichan_ec6cc4eb2ad444474b923532167e98a2}{mandel} (\hyperlink{cowichan_8hpp_82321152ddeeefe9c61350a42ed9e7af}{IntMatrix} matrix)=0
\item 
virtual void \hyperlink{class_cowichan_c44cacf9d9e363a5b076bcee8b9a7a73}{randmat} (\hyperlink{cowichan_8hpp_82321152ddeeefe9c61350a42ed9e7af}{IntMatrix} matrix)=0
\item 
virtual void \hyperlink{class_cowichan_308603053675bccbe631f04af921f57c}{half} (\hyperlink{cowichan_8hpp_82321152ddeeefe9c61350a42ed9e7af}{IntMatrix} matrixIn, \hyperlink{cowichan_8hpp_82321152ddeeefe9c61350a42ed9e7af}{IntMatrix} matrixOut)=0
\item 
virtual void \hyperlink{class_cowichan_ea126792a31e54a8722663b7ea768955}{invperc} (\hyperlink{cowichan_8hpp_82321152ddeeefe9c61350a42ed9e7af}{IntMatrix} matrix, \hyperlink{cowichan_8hpp_a64c8df2f1e9c8ea68a7bcc19aca683e}{BoolMatrix} mask)=0
\item 
virtual void \hyperlink{class_cowichan_a0b633b8c1f21884e0998a9c7020c08c}{thresh} (\hyperlink{cowichan_8hpp_82321152ddeeefe9c61350a42ed9e7af}{IntMatrix} matrix, \hyperlink{cowichan_8hpp_a64c8df2f1e9c8ea68a7bcc19aca683e}{BoolMatrix} mask)=0
\item 
virtual void \hyperlink{class_cowichan_d449595ef2fe934bdd128ac8b1f51d07}{life} (\hyperlink{cowichan_8hpp_a64c8df2f1e9c8ea68a7bcc19aca683e}{BoolMatrix} matrixIn, \hyperlink{cowichan_8hpp_a64c8df2f1e9c8ea68a7bcc19aca683e}{BoolMatrix} matrixOut)=0
\item 
virtual void \hyperlink{class_cowichan_13d60e06ced3b5da79d62c133ce82337}{winnow} (\hyperlink{cowichan_8hpp_82321152ddeeefe9c61350a42ed9e7af}{IntMatrix} matrix, \hyperlink{cowichan_8hpp_a64c8df2f1e9c8ea68a7bcc19aca683e}{BoolMatrix} mask, \hyperlink{class_point}{PointVector} points)=0
\item 
virtual void \hyperlink{class_cowichan_3df21e3c627958114e045c3559a29f30}{norm} (\hyperlink{class_point}{PointVector} pointsIn, \hyperlink{class_point}{PointVector} pointsOut)=0
\item 
virtual void \hyperlink{class_cowichan_0c6b68ae3c059b66893405f8530a2e0a}{hull} (\hyperlink{class_point}{PointVector} pointsIn, \hyperlink{class_point}{PointVector} pointsOut)=0
\item 
virtual void \hyperlink{class_cowichan_52f17221019290b88334b0ca7f3bcdb9}{outer} (\hyperlink{class_point}{PointVector} points, \hyperlink{cowichan_8hpp_3fb46f939e55c239fbc95656fc0f3399}{Matrix} matrix, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} vector)=0
\item 
virtual void \hyperlink{class_cowichan_aa9aac74b96dc5ed33e821d94649d1b2}{gauss} (\hyperlink{cowichan_8hpp_3fb46f939e55c239fbc95656fc0f3399}{Matrix} matrix, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} target, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} solution)=0
\item 
virtual void \hyperlink{class_cowichan_92d8d9ae77208115fdfe69e1174f601c}{sor} (\hyperlink{cowichan_8hpp_3fb46f939e55c239fbc95656fc0f3399}{Matrix} matrix, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} target, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} solution)=0
\item 
virtual void \hyperlink{class_cowichan_3d7d4b581a1d6f0392dc452830fb3b03}{product} (\hyperlink{cowichan_8hpp_3fb46f939e55c239fbc95656fc0f3399}{Matrix} matrix, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} candidate, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} solution)=0
\item 
virtual \hyperlink{cowichan_8hpp_4d521b2c54a1f6312cc8fa04827eaf98}{real} \hyperlink{class_cowichan_775d72b5e7d122f9f32555352278250e}{vecdiff} (\hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} actual, \hyperlink{cowichan_8hpp_02bc1553e241b9b33408482658b3c355}{Vector} computed)=0
\end{CompactItemize}
\subsection*{Protected Attributes}
\begin{CompactItemize}
\item 
\hyperlink{cowichan_8hpp_5b04577d5d21124855deaad298595371}{index\_\-t} \hyperlink{class_cowichan_44f139040042cc616e542be6faa28672}{nr}
\item 
\hyperlink{cowichan_8hpp_5b04577d5d21124855deaad298595371}{index\_\-t} \hyperlink{class_cowichan_81d2fc0da7b4ef388a1dbf08ac820eb1}{nc}
\item 
\hyperlink{cowichan_8hpp_5b04577d5d21124855deaad298595371}{index\_\-t} \hyperlink{class_cowichan_10e0c7c7bcccf11869821fa03cb7a6ee}{n}
\item 
\hyperlink{cowichan_8hpp_5b04577d5d21124855deaad298595371}{index\_\-t} \hyperlink{class_cowichan_edeb55a8b961f270ec35869dbba3afde}{lifeIterations}
\item 
\hyperlink{cowichan_8hpp_4d521b2c54a1f6312cc8fa04827eaf98}{real} \hyperlink{class_cowichan_f0bab1165abe53fea17e65764d247786}{mandelX0}
\item 
\hyperlink{cowichan_8hpp_4d521b2c54a1f6312cc8fa04827eaf98}{real} \hyperlink{class_cowichan_7b5e0e4e2026c78a6ec45fe306e5af93}{mandelY0}
\item 
\hyperlink{cowichan_8hpp_4d521b2c54a1f6312cc8fa04827eaf98}{real} \hyperlink{class_cowichan_edde2560c73a48dd44ea52c6a42c8649}{mandelDx}
\item 
\hyperlink{cowichan_8hpp_4d521b2c54a1f6312cc8fa04827eaf98}{real} \hyperlink{class_cowichan_7189d7127e740a2e6b14dcf0e757a500}{mandelDy}
\item 
\hyperlink{cowichan_8hpp_4d521b2c54a1f6312cc8fa04827eaf98}{real} \hyperlink{class_cowichan_a42c0ae639cc3ac124a013bc3e3162ad}{threshPercent}
\item 
\hyperlink{cowichan_8hpp_5b04577d5d21124855deaad298595371}{index\_\-t} \hyperlink{class_cowichan_c637b7380ab889ed42652790a3c542c6}{invpercNFill}
\item 
\hyperlink{cowichan_8hpp_c96945095fd0ce7186a1d00a89f77d2c}{INT\_\-TYPE} \hyperlink{class_cowichan_e9f8e9769f15e2648435064d4286b1a6}{seed}
\end{CompactItemize}
\subsection*{Static Protected Attributes}
\begin{CompactItemize}
\item 
static const char $\ast$ \hyperlink{class_cowichan_17937f5dfe24c46c00a76d48ca70ccaa}{CHAIN} = \char`\"{}chain\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_40d3f57ec83c7c1ec3af94c37d849049}{MANDEL} = \char`\"{}mandel\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_c9e66484bf3be07bfeac5511f514f102}{RANDMAT} = \char`\"{}randmat\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_6ef0b7dddca7331c9bfb2acd0ea60088}{HALF} = \char`\"{}half\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_0665b5094fb551e4f000502ec752a4e8}{INVPERC} = \char`\"{}invperc\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_e7adc012eb484f209b869db5062dacd0}{THRESH} = \char`\"{}thresh\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_6d8355328c9a2e36321d3d33930f56b2}{LIFE} = \char`\"{}life\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_a4d4acfeeb50c0552487a59a58b3f962}{WINNOW} = \char`\"{}winnow\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_4e2cd818307d1e806861489216e74a0f}{NORM} = \char`\"{}norm\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_c0ca862afefd5d6ab8fefdbf47428b21}{HULL} = \char`\"{}hull\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_b858724b8531751af4f611b978998be4}{OUTER} = \char`\"{}outer\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_b51b18cab3bd7cab0f3eb5c10f4cce0a}{GAUSS} = \char`\"{}gauss\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_eaac49e2ebb0c5149506f0544cd87794}{SOR} = \char`\"{}sor\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_57a1deea813a95ad7ed5a46dd000e576}{PRODUCT} = \char`\"{}product\char`\"{}
\item 
static const char $\ast$ \hyperlink{class_cowichan_d70f851efe3d20a89d7bcf5e7db70344}{VECDIFF} = \char`\"{}vecdiff\char`\"{}
\end{CompactItemize}
\subsection*{Private Member Functions}
\begin{CompactItemize}
\item 
void \hyperlink{class_cowichan_08ee88eb612571e8faa20b2645dc906d}{chain} (bool use\_\-randmat, bool use\_\-thresh)
\end{CompactItemize}


\subsection{Detailed Description}
Base class for all C++ implementations. 

The abstract class containing the inputs, definitions, and some debugging methods for the \hyperlink{class_cowichan}{Cowichan} problems. 

\subsection{Member Function Documentation}
\hypertarget{class_cowichan_08ee88eb612571e8faa20b2645dc906d}{
\index{Cowichan@{Cowichan}!chain@{chain}}
\index{chain@{chain}!Cowichan@{Cowichan}}
\subsubsection[{chain}]{\setlength{\rightskip}{0pt plus 5cm}void Cowichan::chain (bool {\em use\_\-randmat}, \/  bool {\em use\_\-thresh})\hspace{0.3cm}{\tt  \mbox{[}private\mbox{]}}}}
\label{class_cowichan_08ee88eb612571e8faa20b2645dc906d}


Runs the cowichan problem set, chained together. The order in the chain is: \begin{enumerate}
\item \hyperlink{class_cowichan_c44cacf9d9e363a5b076bcee8b9a7a73}{Cowichan::randmat} or \hyperlink{class_cowichan_ec6cc4eb2ad444474b923532167e98a2}{Cowichan::mandel} \item \hyperlink{class_cowichan_308603053675bccbe631f04af921f57c}{Cowichan::half} \item \hyperlink{class_cowichan_ea126792a31e54a8722663b7ea768955}{Cowichan::invperc} or \hyperlink{class_cowichan_a0b633b8c1f21884e0998a9c7020c08c}{Cowichan::thresh} \item \hyperlink{class_cowichan_d449595ef2fe934bdd128ac8b1f51d07}{Cowichan::life} \item \hyperlink{class_cowichan_13d60e06ced3b5da79d62c133ce82337}{Cowichan::winnow} \item \hyperlink{class_cowichan_3df21e3c627958114e045c3559a29f30}{Cowichan::norm} \item \hyperlink{class_cowichan_0c6b68ae3c059b66893405f8530a2e0a}{Cowichan::hull} \item \hyperlink{class_cowichan_52f17221019290b88334b0ca7f3bcdb9}{Cowichan::outer} \item \hyperlink{class_cowichan_aa9aac74b96dc5ed33e821d94649d1b2}{Cowichan::gauss} \item \hyperlink{class_cowichan_92d8d9ae77208115fdfe69e1174f601c}{Cowichan::sor} \item \hyperlink{class_cowichan_3d7d4b581a1d6f0392dc452830fb3b03}{Cowichan::product} (for gauss) \item \hyperlink{class_cowichan_3d7d4b581a1d6f0392dc452830fb3b03}{Cowichan::product} (for sor) \item \hyperlink{class_cowichan_775d72b5e7d122f9f32555352278250e}{Cowichan::vecdiff} \end{enumerate}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em use\_\-randmat}]in step 1 use: randmat (if true) or mandel (if false). \item[{\em use\_\-thresh}]in step 3 use: thresh (if true) or invperc (if false). \end{description}
\end{Desc}


Reimplemented in \hyperlink{class_cowichan_linux_tuples_fd49b2a0af64bafb93a5fe1210c68acd}{CowichanLinuxTuples}.\hypertarget{class_cowichan_aa9aac74b96dc5ed33e821d94649d1b2}{
\index{Cowichan@{Cowichan}!gauss@{gauss}}
\index{gauss@{gauss}!Cowichan@{Cowichan}}
\subsubsection[{gauss}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::gauss ({\bf Matrix} {\em matrix}, \/  {\bf Vector} {\em target}, \/  {\bf Vector} {\em solution})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_aa9aac74b96dc5ed33e821d94649d1b2}


For description see \hyperlink{index_gauss_sec}{11. Gaussian Elimination} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix A in AX = V. \item[{\em target}]vector V in AX = V. \item[{\em solution}]vector X in AX = V. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_b196d2384c2fe8b185e6269a050399eb}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_363bcd6f0c7b4d0fced94fe4cd59a267}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_d51868e0e65482f7c9e69d73b3904822}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_975f8da6c166fe1db3cf9341eeaab000}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_fd3e659afb38415f56fd508333b7bb1b}{CowichanLinuxTuples}.\hypertarget{class_cowichan_308603053675bccbe631f04af921f57c}{
\index{Cowichan@{Cowichan}!half@{half}}
\index{half@{half}!Cowichan@{Cowichan}}
\subsubsection[{half}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::half ({\bf IntMatrix} {\em matrixIn}, \/  {\bf IntMatrix} {\em matrixOut})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_308603053675bccbe631f04af921f57c}


For description see \hyperlink{index_half_sec}{3. Two-Dimensional Shuffle} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrixIn}]matrix to shuffle. \item[{\em matrixOut}]shuffled matrix. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_c08a6b3e23ce26959bac12af077f924f}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_70989ffe182aebf590e39c56e146b0fb}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_bbf17e641657d54fc0c571c008ac8f7a}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_154bbd1a400ee4571f761bff1cdf67cd}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_f3bd58ad2653f06d242d473e7bffda0b}{CowichanLinuxTuples}.\hypertarget{class_cowichan_0c6b68ae3c059b66893405f8530a2e0a}{
\index{Cowichan@{Cowichan}!hull@{hull}}
\index{hull@{hull}!Cowichan@{Cowichan}}
\subsubsection[{hull}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::hull ({\bf PointVector} {\em pointsIn}, \/  {\bf PointVector} {\em pointsOut})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_0c6b68ae3c059b66893405f8530a2e0a}


For description see \hyperlink{index_hull_sec}{9. Convex Hull} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em pointsIn}]points to run convex hull on. \item[{\em pointsOut}]reordered points from pointsIn. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_e75cedf0a296dd7ad3dc41cadc51776f}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_cb444dd3e2c0f1f27f4135de0279d09e}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_0d23aa05dc21fd9e8b033769097b4b18}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_22b3dce35fd93635bd4c1596e7fb839c}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_501f87594d62af261ff0b1954a60ddc4}{CowichanLinuxTuples}.\hypertarget{class_cowichan_ea126792a31e54a8722663b7ea768955}{
\index{Cowichan@{Cowichan}!invperc@{invperc}}
\index{invperc@{invperc}!Cowichan@{Cowichan}}
\subsubsection[{invperc}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::invperc ({\bf IntMatrix} {\em matrix}, \/  {\bf BoolMatrix} {\em mask})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_ea126792a31e54a8722663b7ea768955}


For description see \hyperlink{index_invperc_sec}{4. Invasion Percolation} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]filling resistance matrix. \item[{\em mask}]filled cells. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_9b1cf3fcbb40498609826433b8ea2f6a}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_4824c6b8509b5da835fbc5f64eb3e063}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_e4f9f8c31feea9b3a167fc2880a97610}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_bcd0f18fcccc8973ddaacf4dda190b53}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_5497a17a63cc5faad7afa54d013ea741}{CowichanLinuxTuples}.\hypertarget{class_cowichan_d449595ef2fe934bdd128ac8b1f51d07}{
\index{Cowichan@{Cowichan}!life@{life}}
\index{life@{life}!Cowichan@{Cowichan}}
\subsubsection[{life}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::life ({\bf BoolMatrix} {\em matrixIn}, \/  {\bf BoolMatrix} {\em matrixOut})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_d449595ef2fe934bdd128ac8b1f51d07}


For description see \hyperlink{index_life_sec}{6. Game of Life} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrixIn}]initial world. \item[{\em matrixOut}]final world. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_ffd5b022c1d24226e11924094d8af349}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_d24f3ef01289b8f1bd7b864f585daa62}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_273e3e8a2e05108f59ec613472bfa363}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_9c739951d036ef7905bda7cb896e0edf}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_967138bbdead76eec50f31465dd9d5f1}{CowichanLinuxTuples}.\hypertarget{class_cowichan_905f3eb45f21cdaa1c32a421d001fa4c}{
\index{Cowichan@{Cowichan}!main@{main}}
\index{main@{main}!Cowichan@{Cowichan}}
\subsubsection[{main}]{\setlength{\rightskip}{0pt plus 5cm}void Cowichan::main (int {\em argc}, \/  char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]}, \/  bool {\em use\_\-randmat}, \/  bool {\em use\_\-thresh})}}
\label{class_cowichan_905f3eb45f21cdaa1c32a421d001fa4c}


Runs cowichan problems based on command line input. Problem name can be specified on the command line. Otherwise, the chained version is run. \begin{Desc}
\item[See also:]\hyperlink{class_cowichan_08ee88eb612571e8faa20b2645dc906d}{Cowichan::chain} \end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em argc}]number of command line arguments. \item[{\em argv}]command line arguments. \item[{\em use\_\-randmat}]passed to chain if chained version is used. \item[{\em use\_\-thresh}]passed to chain if chained version is used. \end{description}
\end{Desc}
\hypertarget{class_cowichan_ec6cc4eb2ad444474b923532167e98a2}{
\index{Cowichan@{Cowichan}!mandel@{mandel}}
\index{mandel@{mandel}!Cowichan@{Cowichan}}
\subsubsection[{mandel}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::mandel ({\bf IntMatrix} {\em matrix})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_ec6cc4eb2ad444474b923532167e98a2}


For description see \hyperlink{index_mandel_sec}{1. Mandelbrot Set Generation} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix to fill. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_97a58b7901d8a7680cc28d42cb94d532}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_6809c2738792de047ee59259636c1afd}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_1e58b60ff22a58aba69567ecc6740878}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_58274fc55ed8a352a8924b130f3b5d2e}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_8774404842868381379ec627e8373cec}{CowichanLinuxTuples}.\hypertarget{class_cowichan_3df21e3c627958114e045c3559a29f30}{
\index{Cowichan@{Cowichan}!norm@{norm}}
\index{norm@{norm}!Cowichan@{Cowichan}}
\subsubsection[{norm}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::norm ({\bf PointVector} {\em pointsIn}, \/  {\bf PointVector} {\em pointsOut})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_3df21e3c627958114e045c3559a29f30}


For description see \hyperlink{index_norm_sec}{8. Point Location Normalization} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em pointsIn}]points to normalize. \item[{\em pointsOut}]normalized points. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_0eeb47447c6a6b94ff7c6999c96fda0e}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_4ffbe36816235bc6abec30eae2be2d78}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_ca08645b51a242317a115cd7ce7d81fe}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_11df49e804427d4a0d085f4cff9302d0}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_922209c219bb5b9268263dae4000ea81}{CowichanLinuxTuples}.\hypertarget{class_cowichan_52f17221019290b88334b0ca7f3bcdb9}{
\index{Cowichan@{Cowichan}!outer@{outer}}
\index{outer@{outer}!Cowichan@{Cowichan}}
\subsubsection[{outer}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::outer ({\bf PointVector} {\em points}, \/  {\bf Matrix} {\em matrix}, \/  {\bf Vector} {\em vector})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_52f17221019290b88334b0ca7f3bcdb9}


For description see \hyperlink{index_outer_sec}{10. Outer Product} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em points}]vector of points. \item[{\em matrix}]resulting distance matrix. \item[{\em vector}]resulting distance vector. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_05f6899081a457d58978e4f6bda2db6a}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_99a0570f754ac82968d73093476de533}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_92a763b9733cdcceda13b7b7ea0bc229}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_39fcc8a331b0e26438fbf43fa01cf7c1}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_b16e1c3b60f920c12460a74289558dcb}{CowichanLinuxTuples}.\hypertarget{class_cowichan_c3470807a8cdd1bfc6cf89f864f330bc}{
\index{Cowichan@{Cowichan}!print\_\-bool\_\-rect\_\-matrix@{print\_\-bool\_\-rect\_\-matrix}}
\index{print\_\-bool\_\-rect\_\-matrix@{print\_\-bool\_\-rect\_\-matrix}!Cowichan@{Cowichan}}
\subsubsection[{print\_\-bool\_\-rect\_\-matrix}]{\setlength{\rightskip}{0pt plus 5cm}void Cowichan::print\_\-bool\_\-rect\_\-matrix ({\bf BoolMatrix} {\em matrix})}}
\label{class_cowichan_c3470807a8cdd1bfc6cf89f864f330bc}


DEBUGGING FUNCTION: Print a rectangular boolean matrix on std::cout. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix to print. \end{description}
\end{Desc}
\hypertarget{class_cowichan_14e706ef5a5f7661a623c595d7ed76f1}{
\index{Cowichan@{Cowichan}!print\_\-rect\_\-matrix@{print\_\-rect\_\-matrix}}
\index{print\_\-rect\_\-matrix@{print\_\-rect\_\-matrix}!Cowichan@{Cowichan}}
\subsubsection[{print\_\-rect\_\-matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ void Cowichan::print\_\-rect\_\-matrix (T $\ast$ {\em matrix})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{class_cowichan_14e706ef5a5f7661a623c595d7ed76f1}


DEBUGGING FUNCTION: Print a rectangular matrix on std::cout. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix to print. \end{description}
\end{Desc}
\hypertarget{class_cowichan_e8fdfb7dd3e8be0a7e9dbc531b1298d2}{
\index{Cowichan@{Cowichan}!print\_\-square\_\-matrix@{print\_\-square\_\-matrix}}
\index{print\_\-square\_\-matrix@{print\_\-square\_\-matrix}!Cowichan@{Cowichan}}
\subsubsection[{print\_\-square\_\-matrix}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ void Cowichan::print\_\-square\_\-matrix (T $\ast$ {\em matrix})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{class_cowichan_e8fdfb7dd3e8be0a7e9dbc531b1298d2}


DEBUGGING FUNCTION: Print a square matrix on std::cout. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix to print. \end{description}
\end{Desc}
\hypertarget{class_cowichan_3b974ae1693ac661fb079b28981ca885}{
\index{Cowichan@{Cowichan}!print\_\-vector@{print\_\-vector}}
\index{print\_\-vector@{print\_\-vector}!Cowichan@{Cowichan}}
\subsubsection[{print\_\-vector}]{\setlength{\rightskip}{0pt plus 5cm}void Cowichan::print\_\-vector ({\bf PointVector} {\em points})}}
\label{class_cowichan_3b974ae1693ac661fb079b28981ca885}


DEBUGGING FUNCTION: Print a point vector. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em points}]vector of points to print. \end{description}
\end{Desc}
\hypertarget{class_cowichan_90f1155f5c35308796b142b15d681a4b}{
\index{Cowichan@{Cowichan}!print\_\-vector@{print\_\-vector}}
\index{print\_\-vector@{print\_\-vector}!Cowichan@{Cowichan}}
\subsubsection[{print\_\-vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ void Cowichan::print\_\-vector (T $\ast$ {\em vector})\hspace{0.3cm}{\tt  \mbox{[}inline\mbox{]}}}}
\label{class_cowichan_90f1155f5c35308796b142b15d681a4b}


DEBUGGING FUNCTION: Print a vector on std::cout. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em vector}]vector to print. \end{description}
\end{Desc}
\hypertarget{class_cowichan_3d7d4b581a1d6f0392dc452830fb3b03}{
\index{Cowichan@{Cowichan}!product@{product}}
\index{product@{product}!Cowichan@{Cowichan}}
\subsubsection[{product}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::product ({\bf Matrix} {\em matrix}, \/  {\bf Vector} {\em candidate}, \/  {\bf Vector} {\em solution})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_3d7d4b581a1d6f0392dc452830fb3b03}


For description see \hyperlink{index_product_sec}{13. Matrix-Vector Product} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix A in AX = V. \item[{\em candidate}]vector X in AX = V. \item[{\em solution}]vector V in AX = V. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_00411b35445d7d3038b96d53e43bdffa}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_41d0067382570d1e784f62f2c5963d49}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_f3144458520e2dff1f9fad5753f6fc3d}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_1b7dccf774caccb26839cd29fe0a5cb0}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_c4874f09c54056ac94d00f9e341a94f4}{CowichanLinuxTuples}.\hypertarget{class_cowichan_c44cacf9d9e363a5b076bcee8b9a7a73}{
\index{Cowichan@{Cowichan}!randmat@{randmat}}
\index{randmat@{randmat}!Cowichan@{Cowichan}}
\subsubsection[{randmat}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::randmat ({\bf IntMatrix} {\em matrix})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_c44cacf9d9e363a5b076bcee8b9a7a73}


For description see \hyperlink{index_randmat_sec}{2. Random Number Generation} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix to fill. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_2d24c0e562f7b109ec2ed916f38e5911}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_2c7c4e4dd96f82b7280a412c1fceed2c}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_b9b5cb4b4b5dc8907b2a01825cd4aaff}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_6805f21144aeaeddc4549e1b2b42bca8}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_ff90c6a27db51366570b70d352de7fab}{CowichanLinuxTuples}.\hypertarget{class_cowichan_92d8d9ae77208115fdfe69e1174f601c}{
\index{Cowichan@{Cowichan}!sor@{sor}}
\index{sor@{sor}!Cowichan@{Cowichan}}
\subsubsection[{sor}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::sor ({\bf Matrix} {\em matrix}, \/  {\bf Vector} {\em target}, \/  {\bf Vector} {\em solution})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_92d8d9ae77208115fdfe69e1174f601c}


For description see \hyperlink{index_sor_sec}{12. Successive Over-Relaxation} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]matrix A in AX = V. \item[{\em target}]vector V in AX = V. \item[{\em solution}]vector X in AX = V. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_6e8b06711d976de1adc1e4dc81e560e5}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_d6482d0369a26a51ef0e37ab238fc664}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_dbb32ce457d0edca6815ab1cb2459276}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_7388c844e8aa73ab0923443a3a7ef069}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_aa2c469c3f520a5a56c5ec1ac9a5a6c6}{CowichanLinuxTuples}.\hypertarget{class_cowichan_a0b633b8c1f21884e0998a9c7020c08c}{
\index{Cowichan@{Cowichan}!thresh@{thresh}}
\index{thresh@{thresh}!Cowichan@{Cowichan}}
\subsubsection[{thresh}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::thresh ({\bf IntMatrix} {\em matrix}, \/  {\bf BoolMatrix} {\em mask})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_a0b633b8c1f21884e0998a9c7020c08c}


For description see \hyperlink{index_thresh_sec}{5. Histogram Thresholding} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]image. \item[{\em mask}]image after thresholding. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_7c0f93b2099ce919f91b5d953ff76511}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_e72c4c0a162f30eac37333bd28db97bc}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_3306d21f0b3d12cc2e3b050b99812a27}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_49ff96b091a61e9cfd9aad8824e7fbbd}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_b8cf055ec3d42a1ccde6d818c5a43a74}{CowichanLinuxTuples}.\hypertarget{class_cowichan_775d72b5e7d122f9f32555352278250e}{
\index{Cowichan@{Cowichan}!vecdiff@{vecdiff}}
\index{vecdiff@{vecdiff}!Cowichan@{Cowichan}}
\subsubsection[{vecdiff}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf real} Cowichan::vecdiff ({\bf Vector} {\em actual}, \/  {\bf Vector} {\em computed})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_775d72b5e7d122f9f32555352278250e}


For description see \hyperlink{index_vecdiff_sec}{14. 1-Norm Vector Difference} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em actual}]first vector. \item[{\em computed}]second vector. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_34b75a2084051b3677071bb3c334d1f4}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_92aa23ed47da0a5a3b43416ab08199b3}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_28c976743df231fd183e4db9306050b1}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_c5470a2876efecf843b19c37c21ecf19}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_213185666ea7dd0c9abc59899b454086}{CowichanLinuxTuples}.\hypertarget{class_cowichan_13d60e06ced3b5da79d62c133ce82337}{
\index{Cowichan@{Cowichan}!winnow@{winnow}}
\index{winnow@{winnow}!Cowichan@{Cowichan}}
\subsubsection[{winnow}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Cowichan::winnow ({\bf IntMatrix} {\em matrix}, \/  {\bf BoolMatrix} {\em mask}, \/  {\bf PointVector} {\em points})\hspace{0.3cm}{\tt  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{class_cowichan_13d60e06ced3b5da79d62c133ce82337}


For description see \hyperlink{index_winnow_sec}{7. Weighted Point Selection} \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em matrix}]integer matrix. \item[{\em mask}]boolean matrix. \item[{\em points}]evenly selected points. \end{description}
\end{Desc}


Implemented in \hyperlink{class_cowichan_serial_33daca65431f792c2f4f0e7f8d29fa01}{CowichanSerial}, \hyperlink{class_cowichan_open_m_p_4a518f2b5590d4acd670f333471a380a}{CowichanOpenMP}, \hyperlink{class_cowichan_t_b_b_77178470ef780e0505137dc1d22a85a2}{CowichanTBB}, \hyperlink{class_cowichan_m_p_i_9be48d86fc51ce13ef79d5fe2c8a16e0}{CowichanMPI}, and \hyperlink{class_cowichan_linux_tuples_2b1a77ecbd01ec847cf63fe7ebb50e35}{CowichanLinuxTuples}.

\subsection{Member Data Documentation}
\hypertarget{class_cowichan_17937f5dfe24c46c00a76d48ca70ccaa}{
\index{Cowichan@{Cowichan}!CHAIN@{CHAIN}}
\index{CHAIN@{CHAIN}!Cowichan@{Cowichan}}
\subsubsection[{CHAIN}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::CHAIN} = \char`\"{}chain\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_17937f5dfe24c46c00a76d48ca70ccaa}


Name for chain. \hypertarget{class_cowichan_b51b18cab3bd7cab0f3eb5c10f4cce0a}{
\index{Cowichan@{Cowichan}!GAUSS@{GAUSS}}
\index{GAUSS@{GAUSS}!Cowichan@{Cowichan}}
\subsubsection[{GAUSS}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::GAUSS} = \char`\"{}gauss\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_b51b18cab3bd7cab0f3eb5c10f4cce0a}


Name for gauss. \hypertarget{class_cowichan_6ef0b7dddca7331c9bfb2acd0ea60088}{
\index{Cowichan@{Cowichan}!HALF@{HALF}}
\index{HALF@{HALF}!Cowichan@{Cowichan}}
\subsubsection[{HALF}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::HALF} = \char`\"{}half\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_6ef0b7dddca7331c9bfb2acd0ea60088}


Name for half. \hypertarget{class_cowichan_c0ca862afefd5d6ab8fefdbf47428b21}{
\index{Cowichan@{Cowichan}!HULL@{HULL}}
\index{HULL@{HULL}!Cowichan@{Cowichan}}
\subsubsection[{HULL}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::HULL} = \char`\"{}hull\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_c0ca862afefd5d6ab8fefdbf47428b21}


Name for hull. \hypertarget{class_cowichan_0665b5094fb551e4f000502ec752a4e8}{
\index{Cowichan@{Cowichan}!INVPERC@{INVPERC}}
\index{INVPERC@{INVPERC}!Cowichan@{Cowichan}}
\subsubsection[{INVPERC}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::INVPERC} = \char`\"{}invperc\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_0665b5094fb551e4f000502ec752a4e8}


Name for invperc. \hypertarget{class_cowichan_c637b7380ab889ed42652790a3c542c6}{
\index{Cowichan@{Cowichan}!invpercNFill@{invpercNFill}}
\index{invpercNFill@{invpercNFill}!Cowichan@{Cowichan}}
\subsubsection[{invpercNFill}]{\setlength{\rightskip}{0pt plus 5cm}{\bf index\_\-t} {\bf Cowichan::invpercNFill}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_c637b7380ab889ed42652790a3c542c6}


Number of cells to fill. \hypertarget{class_cowichan_6d8355328c9a2e36321d3d33930f56b2}{
\index{Cowichan@{Cowichan}!LIFE@{LIFE}}
\index{LIFE@{LIFE}!Cowichan@{Cowichan}}
\subsubsection[{LIFE}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::LIFE} = \char`\"{}life\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_6d8355328c9a2e36321d3d33930f56b2}


Name for life. \hypertarget{class_cowichan_edeb55a8b961f270ec35869dbba3afde}{
\index{Cowichan@{Cowichan}!lifeIterations@{lifeIterations}}
\index{lifeIterations@{lifeIterations}!Cowichan@{Cowichan}}
\subsubsection[{lifeIterations}]{\setlength{\rightskip}{0pt plus 5cm}{\bf index\_\-t} {\bf Cowichan::lifeIterations}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_edeb55a8b961f270ec35869dbba3afde}


Number of iterations. \hypertarget{class_cowichan_40d3f57ec83c7c1ec3af94c37d849049}{
\index{Cowichan@{Cowichan}!MANDEL@{MANDEL}}
\index{MANDEL@{MANDEL}!Cowichan@{Cowichan}}
\subsubsection[{MANDEL}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::MANDEL} = \char`\"{}mandel\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_40d3f57ec83c7c1ec3af94c37d849049}


Name for mandel. \hypertarget{class_cowichan_edde2560c73a48dd44ea52c6a42c8649}{
\index{Cowichan@{Cowichan}!mandelDx@{mandelDx}}
\index{mandelDx@{mandelDx}!Cowichan@{Cowichan}}
\subsubsection[{mandelDx}]{\setlength{\rightskip}{0pt plus 5cm}{\bf real} {\bf Cowichan::mandelDx}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_edde2560c73a48dd44ea52c6a42c8649}


Extent of the region along the x axis. \hypertarget{class_cowichan_7189d7127e740a2e6b14dcf0e757a500}{
\index{Cowichan@{Cowichan}!mandelDy@{mandelDy}}
\index{mandelDy@{mandelDy}!Cowichan@{Cowichan}}
\subsubsection[{mandelDy}]{\setlength{\rightskip}{0pt plus 5cm}{\bf real} {\bf Cowichan::mandelDy}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_7189d7127e740a2e6b14dcf0e757a500}


Extent of the region along the y axis. \hypertarget{class_cowichan_f0bab1165abe53fea17e65764d247786}{
\index{Cowichan@{Cowichan}!mandelX0@{mandelX0}}
\index{mandelX0@{mandelX0}!Cowichan@{Cowichan}}
\subsubsection[{mandelX0}]{\setlength{\rightskip}{0pt plus 5cm}{\bf real} {\bf Cowichan::mandelX0}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_f0bab1165abe53fea17e65764d247786}


x-coordinate of the lower left corner. \hypertarget{class_cowichan_7b5e0e4e2026c78a6ec45fe306e5af93}{
\index{Cowichan@{Cowichan}!mandelY0@{mandelY0}}
\index{mandelY0@{mandelY0}!Cowichan@{Cowichan}}
\subsubsection[{mandelY0}]{\setlength{\rightskip}{0pt plus 5cm}{\bf real} {\bf Cowichan::mandelY0}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_7b5e0e4e2026c78a6ec45fe306e5af93}


y-coordinate of the lower left corner. \hypertarget{class_cowichan_10e0c7c7bcccf11869821fa03cb7a6ee}{
\index{Cowichan@{Cowichan}!n@{n}}
\index{n@{n}!Cowichan@{Cowichan}}
\subsubsection[{n}]{\setlength{\rightskip}{0pt plus 5cm}{\bf index\_\-t} {\bf Cowichan::n}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_10e0c7c7bcccf11869821fa03cb7a6ee}


Number of rows/columns for square matrices. \hypertarget{class_cowichan_81d2fc0da7b4ef388a1dbf08ac820eb1}{
\index{Cowichan@{Cowichan}!nc@{nc}}
\index{nc@{nc}!Cowichan@{Cowichan}}
\subsubsection[{nc}]{\setlength{\rightskip}{0pt plus 5cm}{\bf index\_\-t} {\bf Cowichan::nc}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_81d2fc0da7b4ef388a1dbf08ac820eb1}


Number of columns for rectangular matrices. \hypertarget{class_cowichan_4e2cd818307d1e806861489216e74a0f}{
\index{Cowichan@{Cowichan}!NORM@{NORM}}
\index{NORM@{NORM}!Cowichan@{Cowichan}}
\subsubsection[{NORM}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::NORM} = \char`\"{}norm\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_4e2cd818307d1e806861489216e74a0f}


Name for norm. \hypertarget{class_cowichan_44f139040042cc616e542be6faa28672}{
\index{Cowichan@{Cowichan}!nr@{nr}}
\index{nr@{nr}!Cowichan@{Cowichan}}
\subsubsection[{nr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf index\_\-t} {\bf Cowichan::nr}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_44f139040042cc616e542be6faa28672}


Number of rows for rectangular matrices. \hypertarget{class_cowichan_b858724b8531751af4f611b978998be4}{
\index{Cowichan@{Cowichan}!OUTER@{OUTER}}
\index{OUTER@{OUTER}!Cowichan@{Cowichan}}
\subsubsection[{OUTER}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::OUTER} = \char`\"{}outer\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_b858724b8531751af4f611b978998be4}


Name for outer. \hypertarget{class_cowichan_57a1deea813a95ad7ed5a46dd000e576}{
\index{Cowichan@{Cowichan}!PRODUCT@{PRODUCT}}
\index{PRODUCT@{PRODUCT}!Cowichan@{Cowichan}}
\subsubsection[{PRODUCT}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::PRODUCT} = \char`\"{}product\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_57a1deea813a95ad7ed5a46dd000e576}


Name for product. \hypertarget{class_cowichan_c9e66484bf3be07bfeac5511f514f102}{
\index{Cowichan@{Cowichan}!RANDMAT@{RANDMAT}}
\index{RANDMAT@{RANDMAT}!Cowichan@{Cowichan}}
\subsubsection[{RANDMAT}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::RANDMAT} = \char`\"{}randmat\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_c9e66484bf3be07bfeac5511f514f102}


Name for randmat. \hypertarget{class_cowichan_e9f8e9769f15e2648435064d4286b1a6}{
\index{Cowichan@{Cowichan}!seed@{seed}}
\index{seed@{seed}!Cowichan@{Cowichan}}
\subsubsection[{seed}]{\setlength{\rightskip}{0pt plus 5cm}{\bf INT\_\-TYPE} {\bf Cowichan::seed}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_e9f8e9769f15e2648435064d4286b1a6}


Seed value for simple random number generator. \hypertarget{class_cowichan_eaac49e2ebb0c5149506f0544cd87794}{
\index{Cowichan@{Cowichan}!SOR@{SOR}}
\index{SOR@{SOR}!Cowichan@{Cowichan}}
\subsubsection[{SOR}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::SOR} = \char`\"{}sor\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_eaac49e2ebb0c5149506f0544cd87794}


Name for sor. \hypertarget{class_cowichan_e7adc012eb484f209b869db5062dacd0}{
\index{Cowichan@{Cowichan}!THRESH@{THRESH}}
\index{THRESH@{THRESH}!Cowichan@{Cowichan}}
\subsubsection[{THRESH}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::THRESH} = \char`\"{}thresh\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_e7adc012eb484f209b869db5062dacd0}


Name for thresh. \hypertarget{class_cowichan_a42c0ae639cc3ac124a013bc3e3162ad}{
\index{Cowichan@{Cowichan}!threshPercent@{threshPercent}}
\index{threshPercent@{threshPercent}!Cowichan@{Cowichan}}
\subsubsection[{threshPercent}]{\setlength{\rightskip}{0pt plus 5cm}{\bf real} {\bf Cowichan::threshPercent}\hspace{0.3cm}{\tt  \mbox{[}protected\mbox{]}}}}
\label{class_cowichan_a42c0ae639cc3ac124a013bc3e3162ad}


Thresholding percentage. \hypertarget{class_cowichan_d70f851efe3d20a89d7bcf5e7db70344}{
\index{Cowichan@{Cowichan}!VECDIFF@{VECDIFF}}
\index{VECDIFF@{VECDIFF}!Cowichan@{Cowichan}}
\subsubsection[{VECDIFF}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::VECDIFF} = \char`\"{}vecdiff\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_d70f851efe3d20a89d7bcf5e7db70344}


Name for vecdiff. \hypertarget{class_cowichan_a4d4acfeeb50c0552487a59a58b3f962}{
\index{Cowichan@{Cowichan}!WINNOW@{WINNOW}}
\index{WINNOW@{WINNOW}!Cowichan@{Cowichan}}
\subsubsection[{WINNOW}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ {\bf Cowichan::WINNOW} = \char`\"{}winnow\char`\"{}\hspace{0.3cm}{\tt  \mbox{[}static, protected\mbox{]}}}}
\label{class_cowichan_a4d4acfeeb50c0552487a59a58b3f962}


Name for winnow. 

The documentation for this class was generated from the following files:\begin{CompactItemize}
\item 
cowichan/\hyperlink{cowichan_8hpp}{cowichan.hpp}\item 
cowichan/\hyperlink{cowichan_8cpp}{cowichan.cpp}\end{CompactItemize}
